Frontend Forever App
We have a mobile app for you to download and use. And you can unlock many features in the app.
Get it now
Intall Later
Run
HTML
CSS
Javascript
Output
Document
@charset "UTF-8"; @import url(https://fonts.googleapis.com/css?family=Nunito+Sans:300,400,600,700,800); *, :after, :before { box-sizing: border-box; padding: 0; margin: 0; } :root { --w: 300px; --wave: url('data:image/svg+xml,
Layer 1
'); } body { padding: 0; margin: 0; min-height: 100vh; display: grid; place-items: center; background: black; overflow: hidden; filter: brightness(1) sepia(1) saturate(9) hue-rotate(95deg); } .scene { position: relative; width: var(--w); aspect-ratio: 1; border-radius: 50%; background-image: var(--wave); background-repeat: repeat-x; background-position: bottom; background-size: 740px; animation: wave 2.5s linear infinite; } .move { position: absolute; width: var(--w); aspect-ratio: 1; display: flex; border-radius: 50%; align-items: center; justify-content: center; animation: rotateMove 10s linear infinite; mix-blend-mode: difference; } .scene i { --degree: 130px; --deg: 360deg; --cos: cos( (var(--i) * var(--deg) / var(--total))); --sin: sin( (var(--i) * var(--deg) / var(--total))); --transform: calc(var(--cos) * var(--degree)), calc(var(--sin) * var(--degree)); position: absolute; width: 8px; aspect-ratio: 1; border-radius: 50%; background: a; display: block; background: white; transform: translate( var(--transform) ); } @keyframes wave { 0% { background-position-x: 740px; } 100% { background-position-x: 0px; } } @keyframes rotateMove { from { transform: rotate(0deg); } to { transform: rotate(1turn); } }
console.log("Event Fired")